function userprofile()
{
	var obj = {};
	obj.url = "index.php?option=com_ketnoi&view=userprofile&tmpl=raw";
	var callback = function(){
		if($("#grid_userprofile").length > 0)
		{
			var dataSource = $("#grid_userprofile").data("kendoGrid").dataSource;
			dataSource.read();
		}
		
	}
	obj.callback = callback;
	return obj;
}

function create_userprofile()
{
	var obj = {};
	obj.url = "index.php?option=com_ketnoi&view=userprofile&layout=create&tmpl=raw";
	var callback = function(){
		if($("#tab_create_userprofile").length > 0)
		{
			initControl("#tab_create_userprofile");
			initCreateUserprofile();
		}	
		
	}
	obj.callback = callback;
	return obj;
}

function edit_user_profile()
{
	var localStorage = window.localStorage;	
	var item_arr = localStorage.getItem("edit_user_profile");
	if(item_arr == null)
	{
		window.location.hash = $hash_url;
		return;
	}
	var item = JSON.parse(item_arr);
	var id = item.id;
	var obj = {};
	obj.url = "index.php?option=com_ketnoi&view=userprofile&layout=create&tmpl=raw&id="+id;
	var callback = function(){
		if($("#tab_create_userprofile").length > 0)
		{
			initControl("#tab_create_userprofile");
			initCreateUserprofile();
		}
	}
	obj.callback = callback;
	return obj;
}

function showModalCreateNhanvien(client_update)
{
	var obj = {};
	var link = "index.php?option=com_ketnoi&view=userprofile&layout=create&tmpl=raw&quickcreate=1&client_update="+client_update;
	obj.link = link;
	var callback = function(){
		if($("#form_create_userprofile").length > 0)
		{
			initControl("#tab_create_userprofile");
			initCreateUserprofile(client_update);
		}	
	}
	obj.callback = callback;
	showModalLink(obj);
}

function initCreateUserprofile(client_update)
{
	
	$("#form_create_userprofile").validate({  
		errorPlacement: function(error, element) {
			if($(element).hasClass("error"))
			{
				hideLoader($('#form_create_userprofile'));
			}
            error.remove();          
        },
        onkeyup:function(element){
        	if(element.name == "sothangbaohanh" || element.name == "sodungluongbaohanh")
        		$(element).valid();
        },
        onfocusout:false,
        rules:{
            ma:{
                required:true,
                remote:{
        			url:"index.php?option=com_ketnoi&task=userprofile.checkMaExists&tmpl=raw",
        			data:{
        				ma:function(value){       	
        					return $("#form_create_userprofile input[name='ma']").val();
        				},
        				oldval:$("#oldma").val()
        			},
        			beforeSend:function(){
        				showLoader($('#form_create_userprofile'));
        			}
        		}
            },
            hoten:{
                required:true,
                remote:{
        			url:"index.php?option=com_ketnoi&task=userprofile.checkTenExists&tmpl=raw",
        			data:{
            			hoten:function(value){
        					return $("#form_create_userprofile input[name='hoten']").val();
        				},
        				oldval:$("#oldten").val()
        			},
        			beforeSend:function(){
        				showLoader($('#form_create_userprofile'));
        			}
        		}
            },
            username:{
                checkUsername:true,
            },
            group_id:{
                checkUsergroup:true,
            },
            password:{
                checkPassword:true,
            },
            confirmpassword:{
                checkConfirmPassword:true,
            },
            email:{
                required:true,
            }
            
        },
        messages:{
        	ma:{
                required:'Vui lòng nhập mã', 
                remote:'Mã linh kiện này đã tồn tại.Vui lòng nhập mã khác.'
            },
            hoten:{
                required:'Vui lòng nhập tên linh kiện',    
                remote:'Tên linh kiện này đã tồn tại.Vui lòng nhập tên khác.'
            },
            username:{
            	checkUsername:'Vui lòng nhập tên đăng nhập',  
            	remote:'Tên đăng nhập này đã tồn tại'
            },
            group_id:{
                checkUsergroup:"Vui lòng chọn nhóm",
            },
            password:{
                checkPassword:"Vui lòng nhập mật khẩu",
            },
            confirmpassword:{
            	checkConfirmPassword:"Xác nhận mật khẩu không đúng",
            },
            email:{
            	checkConfirmPassword:"Vui lòng nhập email",
            }
        }
    })
   
    jQuery.validator.addMethod('checkUsername', function(data,element) {
    	var value = $.trim($("#form_create_userprofile input[name='username']").val());
    	var link = "index.php?option=com_ketnoi&task=userprofile.checkusername&username="+value;
        if($("#isUserCheck").is(":checked"))
        {	
        	if($.trim(value) == "")
        	{
        		return false;
        	}else
        	{
        		var oldusername = $.trim($("#oldusername").val());
        		if(oldusername == value) return true;
        	}
        }else
        {
        	return true;
        }
        
        return $.validator.methods.remote.call(this, value, element, {
            url: link,
            beforeSend:function(){
				showLoader($('#form_create_userprofile'));
			}
        });
    })
    
    jQuery.validator.addMethod('checkUsergroup', function(data,element) {
    	if($("#isUserCheck").is(":checked"))
        {
    		var value = $("#form_create_userprofile select[name='group_id'] option:selected").val();
    		if(typeof(value) == "undefined" || $.trim(value) == "")
    		{
    			return false;
    		}
        }else return true;
    	return true;
    })
    
    jQuery.validator.addMethod('checkPassword', function(data,element) {
    	if($("#isUserCheck").is(":checked"))
        {
    		var value = $("#form_create_userprofile input[name='password']").val();
    	
    		if($.trim(value) == "" && $("#userid").length == 0)
    		{
    			return false;
    		}
        }else return true;
    	return true;
    })
    
    jQuery.validator.addMethod('checkConfirmPassword', function(data,element) {
    	if($("#isUserCheck").is(":checked"))
        {
    		var value = $("#form_create_userprofile input[name='confirmpassword']").val();
    		if($.trim(value) == "" && $("#userid").length == 0)
    		{
    			return false;
    		}else
    		{
    			var password = $("#form_create_userprofile input[name='password']").val();
    			if($.trim(password) != $.trim(value)) return false;
    		}
        }else return true;
    	return true;
    })
    
    $('#form_create_userprofile').ajaxForm({
    	beforeSubmit:function(){   		
    		showLoader($('#form_create_userprofile'));
    	},
    	success:function(response){
    		var obj = checkJSON(response);
    		if(obj.is_json)
    		{
    			if(!obj.result.success)
        		{
        			var error = obj.result.error;
        			alertify.alert(error);
        		}else
        		{
        			if(typeof(client_update) != 'undefined')
        			{
        				var option = "<option data-ten='"+obj.result.hoten+"' data-ma='"+obj.result.ma+"' value='"+obj.result.id+"'>"+obj.result.ma +" - "+ obj.result.hoten+"</option>";
        				$("#"+client_update).append(option);
        				$("#"+client_update).trigger("liszt:updated");
        				$('#form_create_userprofile').closest("div.modal").find("div.modal-header button.close").trigger("click");
        				alertify.set({ delay: 4000 });
        				alertify.success("Thêm nhân viên thành công");
        			}
        		}
    		}
    		else
    		{
    			var container = getMainContent();
    			container.html(response);
    			disableHashchange();   			
    			window.location.hash = "edit_user_profile";
    			initControl("#tab_create_userprofile");
    			initCreateUserprofile();
    			enableHashchange();
    				
    		}
    		hideLoader($('#form_create_userprofile'));
    	}
    });
}

function edit_hash_userprofile(id)
{
	item = {};
	item.id = id;
	setHash("edit_user_profile",item);
	window.location.hash = "edit_user_profile";
}

function showUserPanel()
{
	var checkbox = $("#isUserCheck");
	if(checkbox.is(":checked"))
	{
		$(".hidecheck").show();
	}else $(".hidecheck").hide();
}

function deleteUserProfile(id)
{
	alertify.confirm("Bạn muốn xóa nhân viên này?", function (e) {
	    if (e) {
	    	showLoader();
			var link = "index.php?option=com_ketnoi&view=userprofile&task=userprofile.delete&tmpl=raw&id="+id;
			$.get(link,"",function(response){
				var dataSource = $("#grid_userprofile").data("kendoGrid").dataSource;
				dataSource.read();
				hideLoader();		
				alertify.set({ delay: 4000 });
				alertify.success("Xóa thành công");
			})
	    } 
	});
}

